
Давайте посмотрим на код, который будет создан. Будет использован новый класс CReBar.
class CMainFrame : public CFrameWnd
{
......
protected: // control bar embedded members
CStatusBar m_wndStatusBar;
CToolBar m_wndToolBar;
CReBar m_wndReBar; // New
CDialogBar m_wndDlgBar;
Давайте посмотрим, что в функции OnCreate и как создается ReBar:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
......
if (!m_wndReBar.Create(this) ||
!m_wndReBar.AddBar(&m_wndToolBar) ||
!m_wndReBar.AddBar(&m_wndDlgBar))
{
TRACE0("Failed to create rebar\n");
return -1; // fail to create
}
......
}
Как видите алгоритм такой:
Сама функция AddBar естественно дает больше возможностей. Давайте посмотрим ее описание.
BOOL AddBar ( CWnd* pBar, LPCTSTR lpszText = NULL, CBitmap* pbmp = NULL, DWORD dwStyle = RBBS_GRIPPERALWAYS | RBBS_FIXEDBMP ); BOOL AddBar ( CWnd* pBar, COLORREF clrFore, COLORREF clrBack, LPCTSTR pszText = NULL, DWORD dwStyle = RBBS_GRIPPERALWAYS );
Естественно этот код Вы можете добавить и в ручную для модернизации Вашего проекта. Объектом ReBar можно управлять. Вот так например. Из класса и из контрола.
m_wndReBar.GetReBarCtrl(). свойства m_wndReBar. свойства